#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/wait.h>
//关闭僵尸进程wait()函数
//如果没有已终止的子进程，那么程序将阻塞直到有子进程终止，因此谨慎调用该函数
int main(int argc,char *argv[])
{
	int status;
	pid_t pid=fork();
	if(pid==0)
	{
		return 3;
	}
	else 
	{
		printf("Child PID:%d\n",pid);
		pid=fork();
		if(pid==0)
		{
			exit(7);
		}
		else
		{
			printf("Child PID:%d\n",pid);
			//pid_t wait(int *statloc);
			//之前终止的子进程相关信息将保存到status变量，同时相关子进程被完全销毁
			wait(&status);
			//WIFEXITED子进程正常终止时返回真
			//WEXITSTATUS返回子进程的返回值
			if(WIFEXITED(status))
				printf("Child send one:%d\n",WEXITSTATUS(status));
			wait(&status);
			if(WIFEXITED(status))
				printf("Child send two:%d\n",WEXITSTATUS(status));
			sleep(30);
		}
	}
	return 0;
}
